package intellitor.sqlparser.ddl;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 记录模版解析后的数据用户生成SQL
 * @author DevilSoul
 * @since 2015-10-26
 * @version 1.0.0
 */
public class TableBean implements Serializable {

	private static final long serialVersionUID = 1L;
	//中文表名
	private String tableNameCN;
	//英文表名
	private String tableNameEN;
	//表的英文列集合
	private List<String> tableColumnsList;
	//表的列中文MAP，KEY=英文列名，VALUE=中文列名
	private Map<String,String> tableColumnsCnMap;
	//表的列约束MAP，KEY=英文列名，VALUE=约束名
	private Map<String,String> tableConstraintsMap;
	//表的注解MAP，KEY=英文列名，VALUE=注解
	private Map<String,String> tableCommentsMap;
	//表的列类型MAP，KEY=英文列名，VALUE=列类型
	private Map<String,String> tableColumnTypeMap;
	//表级操作类型，NEW，MD，DEL
	private String tableOpType;
	//表的列操作类型MAP,KEY=英文列名，VALUE=操作类型
	private Map<String,String> tableColumnOpTypeMap;
	//表的默认值MAP，KEY=英文列名，VALUE=默认值
	private Map<String,String> tableColumnDefaultValueMap;
	//表集合
	private List<TableBean> tableList;
	//表描述
	private String tableDesc;
	//表序列名
	private String tableSeq;
	
	
	/**
	 * 获取表的默认值MAP，KEY=英文列名，VALUE=默认值
	 * @return
	 */
	public Map<String, String> getTableColumnDefaultValueMap() {
		return tableColumnDefaultValueMap;
	}
	/**
	 * 设置表的默认值MAP，KEY=英文列名，VALUE=默认值
	 * @param tableColumnDefaultValueMap
	 */
	public void setTableColumnDefaultValueMap(
			Map<String, String> tableColumnDefaultValueMap) {
		this.tableColumnDefaultValueMap = tableColumnDefaultValueMap;
	}
	/**
	 * 获取表序列名
	 * @return
	 */
	public String getTableSeq() {
		return tableSeq;
	}
	/**
	 * 设置表序列名
	 * @param tableSeq
	 */
	public void setTableSeq(String tableSeq) {
		this.tableSeq = tableSeq;
	}
	/**
	 * 获取表描述
	 * @return
	 */
	public String getTableDesc() {
		return tableDesc;
	}
	/**
	 * 设置表描述
	 * @param tableDesc
	 */
	public void setTableDesc(String tableDesc) {
		this.tableDesc = tableDesc;
	}
	/**
	 * 获取中文表名
	 * @return
	 */
	public String getTableNameCN() {
		return tableNameCN;
	}
	/**
	 * 设置中文表名
	 * @param tableNameCN
	 */
	public void setTableNameCN(String tableNameCN) {
		this.tableNameCN = tableNameCN;
	}
	/**
	 * 获取英文表名
	 * @return
	 */
	public String getTableNameEN() {
		return tableNameEN;
	}
	/**
	 * 设置英文表名
	 * @param tableNameEN
	 */
	public void setTableNameEN(String tableNameEN) {
		this.tableNameEN = tableNameEN;
	}
	/**
	 * 获取表的英文列集合
	 * @return
	 */
	public List<String> getTableColumnsList() {
		return tableColumnsList;
	}
	/**
	 * 设置表的英文列集合
	 * @param tableColumnsList
	 */
	public void setTableColumnsList(List<String> tableColumnsList) {
		this.tableColumnsList = tableColumnsList;
	}
	/**
	 * 获取表的列中文MAP，KEY=英文列名，VALUE=中文列名
	 * @return
	 */
	public Map<String,String> getTableColumnsCnMap() {
		return tableColumnsCnMap;
	}
	/**
	 * 设置表的列中文MAP，KEY=英文列名，VALUE=中文列名
	 * @param tableColumnsList
	 */
	public void setTableColumnsCnMap(Map<String,String> tableColumnsCnMap) {
		this.tableColumnsCnMap = tableColumnsCnMap;
	}
	/**
	 * 获取表的列约束MAP，KEY=英文列名，VALUE=约束名
	 * @return
	 */
	public Map<String,String> getTableConstraintsMap() {
		return tableConstraintsMap;
	}
	/**
	 * 设置表的列约束MAP，KEY=英文列名，VALUE=约束名
	 * @param tableConstraintsMap
	 */
	public void setTableConstraintsMap(Map<String,String> tableConstraintsMap) {
		this.tableConstraintsMap = tableConstraintsMap;
	}
	/**
	 * 获取表的注解MAP，KEY=英文列名，VALUE=注解
	 * @return
	 */
	public Map<String,String> getTableCommentsMap() {
		return tableCommentsMap;
	}
	/**
	 * 设置表的注解MAP，KEY=英文列名，VALUE=注解
	 * @param tableCommentsMap
	 */
	public void setTableCommentsMap(Map<String,String> tableCommentsMap) {
		this.tableCommentsMap = tableCommentsMap;
	}
	/**
	 * 获取表的列类型MAP，KEY=英文列名，VALUE=列类型
	 * @return
	 */
	public Map<String,String> getTableColumnTypeMap() {
		return tableColumnTypeMap;
	}
	/**
	 * 设置表的列类型MAP，KEY=英文列名，VALUE=列类型
	 * @param tableColumnTypeMap
	 */
	public void setTableColumnTypeMap(Map<String,String> tableColumnTypeMap) {
		this.tableColumnTypeMap = tableColumnTypeMap;
	}
	/**
	 * 获取表集合
	 * @return
	 */
	public List<TableBean> getTableList() {
		return tableList;
	}
	/**
	 * 设置表集合
	 * @param tableList
	 */
	public void setTableList(List<TableBean> tableList) {
		this.tableList = tableList;
	}
	/**
	 * 获取表级操作类型，NEW，MD，DEL
	 * @return
	 */
	public String getTableOpType() {
		return tableOpType;
	}
	/**
	 * 设置表级操作类型，NEW，MD，DEL
	 * @param tableOpType
	 */
	public void setTableOpType(String tableOpType) {
		this.tableOpType = tableOpType;
	}
	/**
	 * 获取表的列操作类型MAP,KEY=英文列名，VALUE=操作类型
	 * @return
	 */
	public Map<String, String> getTableColumnOpTypeMap() {
		return tableColumnOpTypeMap;
	}
	/**
	 * 设置表的列操作类型MAP,KEY=英文列名，VALUE=操作类型
	 * @param tableColumnOpTypeMap
	 */
	public void setTableColumnOpTypeMap(Map<String, String> tableColumnOpTypeMap) {
		this.tableColumnOpTypeMap = tableColumnOpTypeMap;
	}
	
}
